package com.ruoyi.system.mapper;

import com.ruoyi.system.domain.OrderLinkRealize;

import java.util.List;

/**
 * 订单环节实现Mapper接口
 * 
 * @author ruoyi
 * @date 2025-06-09
 */
public interface OrderLinkRealizeMapper
{
    /**
     * 查询订单环节实现
     * 
     * @param id 订单环节实现主键
     * @return 订单环节实现
     */
    public OrderLinkRealize selectOrderLinkRealizeById(Long id);

    /**
     * 查询订单环节实现列表
     * 
     * @param orderId 订单id
     * @return 订单环节实现集合
     */
    public List<OrderLinkRealize> selectOrderLinkRealizeList(Long orderId);

    /**
     * 通过订单id集合批量查询订单环节实现
     *
     * @param orderIds id集合
     * @return 订单环节实现集合
     */
    public List<OrderLinkRealize> selectOrderLinkRealizeListByOrderIds(List<Long> orderIds);

    /**
     * 通过环节id集合批量查询订单环节实现
     *
     * @param linkIds 环节id集合
     * @return 订单环节实现集合
     */
    public List<OrderLinkRealize> selectOrderLinkRealizeListByLinkIds(List<Long> linkIds);

    /**
     * 新增订单环节实现
     * 
     * @param orderLinkRealize 订单环节实现
     * @return 结果
     */
    public int insertOrderLinkRealize(OrderLinkRealize orderLinkRealize);

    /**
     * 批量新增订单环节实现
     *
     * @param orderLinkRealizeList 订单环节实现
     * @return 结果
     */
    public void batchInsertOrderLinkRealize(List<OrderLinkRealize> orderLinkRealizeList);

    /**
     * 修改订单环节实现
     * 
     * @param orderLinkRealize 订单环节实现
     * @return 结果
     */
    public int updateOrderLinkRealize(OrderLinkRealize orderLinkRealize);

    /**
     * 删除订单环节实现
     * 
     * @param orderIds 订单环节实现主键集合
     * @return 结果
     */
    public int deleteOrderLinkRealizeByOrderIds(List<Long> orderIds);

    /**
     * 批量删除订单环节实现
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteOrderLinkRealizeByIds(Long[] ids);
}
